Many methods of computing system security exist. Examples include: access control lists, public/group/private access, User ID, password, etc. Basically all such security methods answer the same question: "May this action happen, yes or no?"
In answering this question, each security method has it own strengths and weaknesses. Some are low in function, high in speed. Others are high function, but are more computationally intense. Some are quick to allow an action, but slow to deny an action. The latter is sometimes known as "early acceptance".
Other security systems will deny a request quickly, but allow a request slowly (also known as "early rejection"). No single-level security system does everything equally well. Today, many computer systems are incorporating multi-level security systems to cope with the many user types who must have access to various system resources. Execution of such multi-level security systems can require substantial system resources and reduce system operating efficiencies.
The prior art includes a variety of teachings regarding security systems for protecting various types of data. For instance, U.S. Pat. No. 5,539,906 to Abraham et al. (assigned to the same Assignee as this application) describes a security system which protects data pertaining to an industrial process (or a series of industrial process steps). Abraham et al. enable access to data that derives from a process step which is currently active, but only to a select group. Thus, access to the process data is prevented, based on the status of the data, in addition to the category or type of data. For instance, users may have access to data elements at some steps in the process, but are denied access to those data elements at other steps in the process. Abraham et al. further suggest that their method for controlling security based on the data status and location may be used with password control, security level control and other classifications based on groups of users or type of data.
U.S. Pat. No. 5,504,814 to Miyahara describes a computer security mechanism that includes an access control table that specifies predetermined access rights of each of a plurality of predetermined security subjects relative to predetermined security objects. The access control table further includes a collection of mutually exclusive execution domains for each of the security subjects so that the executing processes of the security subject can only directly access code and data contained within the collection of domains of such security subject.
U.S. Pat. No. 5,075,884 to Sherman et al. describes a multi-level secure work station wherein each of a select group of processes is displayed only through a suitably labeled window. Access to the window requires access through a previous security-qualified physical signal path. U.S. Pat. No. 5,481,700 to Thuraisingham describes a multi-level security system for a database wherein security constraints are assigned, as security levels, to the data contained in the database. The system further lists users who are cleared to different security levels and are thereby enabled to query various aspects of the multi-level database. Access to the multi-level database is enabled by processing of queries in accord with the security constraints and in accordance with stored rules.
Notwithstanding the teachings in the prior art regarding multi-level security systems, there is still a need for such a security system which arrives at an "early acceptance" or "early rejection" conclusion in regards to an access request, in a minimal amount of time and through use of minimal processing assets.
Accordingly, it is an object of this invention to provide a multi-level security evaluation system for a computer which reaches either an early acceptance or an early rejection of an access request in a minimal amount of processing time.
It is a further object of this invention to provide a multi-level security evaluation system for a computer, wherein the computer is enabled to perform the multi-level security evaluations in any order which maximizes system performance.
It is another object of this invention to provide a security evaluation system, wherein a "don't know" result of an evaluation causes a next security evaluation test to be applied or, if all such tests have been exhausted, a rejection of an access request to a system resource.